package com.wjm.JavaSEAPI.date;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * Data:2022年07月04日
 * Author:wjm
 * Content: LocalDateTime类介绍
 *
 *
 *  LocalDateTime类是从jdk1.8开始支持的，是最新的表示日期和时间的一套成熟API，也是目前开发中推荐使用的
 *  LocalDateTime月份是1~12，星期是1~7 分别对应 "一二三四五六日"
 *
 */
public class LocalDateTimeDemo {
    public static void main(String[] args) {
        /*
        * 直接实例化对象获取日期时期分量
        * 这个方法会出现误差
        * */
        LocalDateTime localDateTime = LocalDateTime.now();//获取日期时间
        LocalDate localDate = LocalDate.now();//获取日期
        LocalTime localTime = LocalTime.now();//获取时间
        System.out.println(localDateTime);
        System.out.println(localDate);
        System.out.println(localTime);
        System.out.println("---------------------");

        /*
        * 通过LocalDateTime获取LocalTime和LocalDate
        * 这个方式没有误差
        * */
        LocalDateTime dateTime = LocalDateTime.now();
        LocalDate date = dateTime.toLocalDate();
        LocalTime time = dateTime.toLocalTime();
        System.out.println(dateTime);
        System.out.println(date);
        System.out.println(time);
        System.out.println("---------------------");

        /*
        * 通过LocalDate和LocalTime获取LocalDateTime
        * 没有误差
        * */
        LocalTime t = LocalTime.now();
        LocalDate d = LocalDate.of(2001,11,7);
        LocalDateTime dt = LocalDateTime.of(d,t);
        System.out.println(dt);
        System.out.println(d);
        System.out.println(t);



    }


}
